თავი 2. ADO-ს ობიექტური მოდელი

ობიექტის Connection გამოყენება (დასაწყისი)
მონაცემების დამუშავების პირველი ნაბიჯია მონაცემების წყაროსთან დაკავშირება. დაკავშირება ხორციელდება ცხადად, ან არაცხადად. ძირითადად გამოიყენება მონაცემების წყაროსთან ცხადად დაკავშირება. ობიექტის Connection მონაცემების წყაროსთან ცხადად დაკავშირება ხორციელდება:
  • ობიექტური ცვლადის Connection-ის გამოცხადებით;
  • ობიექტური ცვლადის Connection-ის ეგზემპლარის შექმნით.

Dim kav As ADODB.Connection
Set kav = New ADODB.Connection
შეიძლება ერთდროულად გამოცხადებულ იქნეს ობიექტური ცვლადი და შეიქმნას ობიექტის Connection ეგზემპლარი:
Dim kav As  New ADODB.Connection

ობიექტის Connection თვისებებია:
  • ConnectionString – მიეთითება მონაცემების წყარო და და მონაცემების ბაზის სრული მისამართი;
  • ConnectionTimeout – მონაცემების წყაროდან პასუხის მიღების ლოდინის დრო. გაჩუმებით მიღებულია 15 წამი. აუცილებლობის შემთხვევაში, ქსელის დატვირთვის მხედველობაში მიღებით შეიძლება ეს რიცხვი გაიზარდოს;
  • Mode – მონაცემებთან შეღწევის რეჟიმი/ცხრ. 2.1/;
  • CursorLocation – OLE DB-ში კურსორის ადგილმდებარე-ობის განსაზღვრა. მისი მნიშვნელობებია: adUseServer – კურსორი მოთავსებულია სერვერის მხარეს, adUseClient – კურსორი მოთავსებულია კლიენტის მხარეს;
  • DefaultDatabase – განისაზღვრება სერვერზე არსებული მონაცემების ბაზა;
  • IsoLocationLevel – რამდენიმე მომხმარებლის ერთდროულად მონაცემების ბაზასთან მიმართვის მცდელობის გათვალისწინება/ცხრ. 2.2/;   
  • Provider – მონაცემების ბაზასთან კავშირის დამყარების წინ განისაზღვრება OLE DB მომხმარებელი;
  • CommandTimeuot – ბრძანების შესრულებასთან დაკავშირებული მონაცემების წყაროსთან ლოდინის დრო. ამ დროის გასვლის შემდეგ მონაცემების წყაროსთან დაკავშირების მცდელობა წყდება.

                                                                                                                                                                       ცხრილი 2.1. 
თვისების Mode მუდმივები

თვისებაში CursorLocation გამოყენებული იყო ცნება კურსორი. ეს არ არის კურსორი ჩვეულებრივი გაგებით. აქ კურსორი არის მონაცემების ბაზიდან ამორჩეული ჩანაწერების ერთობლიობა პლუს მიმდინარე ჩანაწერის ინდიკატორი.

ობიექტის Connection გაღების ბრძანების მიცემის წინ აუცილებელია ობიექტისთვის თვისებების მინიჭება.
Dim kav As New ADODB.Connection
kav. CursorLocation = adUseServer

ობიექტის Connection გაღების ბრძანების სინტაქსი შემდეგია:
Connection.Open[,ConnectionString (მონაცემების წყაროსთან დაკავშირების სტრიქონი][, მომხმარებლის იდენტიფიკატორი] [,Password (პაროლი)] [, Parameter (პარამეტრები)]

არგუმენტის ,,პარამეტრები” მნიშვნელობებია:
     •        adConnectUnspecified – მონაცემების წყაროსთან ხორციელდება სინქრონული დაკავშირება. მოცემულ მომენტში მხოლოდ ერთ მომხმარებელს შეუძლია მონაცემების წყაროსთან დაკავშირება. ეს მნიშვნელობა გაჩუმებით აქვს მინიჭებული არგუმენტს ,,პარამეტრები”; 
     •        adAsyncConnect – გამოიყენება მონაცემების წყაროსთან ასინქრონული კავშირის დასამყარებლად.

მონაცემების წყაროსთან დაკავშირების სტრიქონი ConnectionString

მონაცემების წყაროსთან დაკავშირება ორი ხერხით შეიძლება: პირველი: ობიექტის Connection შექმნის შემდეგ მეთოდში Open არგუმენტის ConnectionString-ის შექმნით და მეორე: ობიექტის Connection შექმნის შემდეგ ობიექტის Connection გაღებამდე თვისების ConnectionString გამოყენებით. ნებისმიერ შემთხვევაში დაკავშირების სტრიქონში გათავალისწინებულ უნდა იქნეს 5 არგუმენტი.

1.        მიმწოდებელი – მომწოდებლის სახელი/ცხრ. 2.3/
                                                                                                 ცხრილი 2.3

მუდმივი
       აღწერა
acModeReader
დაკავშირება მონაცემების წაკითხვის რეჟიმში
acModeReaderWrite
დაკავშირება მონაცემების წაკითხვის და ჩაწერის რეჟიმში
acModeWrite
დაკავშირება მონაცემების ჩაწერის რეჟიმში
cModeShareDenyReader
სხვა დანართებიდან შეუძლებელია   მონაცემების წაკითხვა  
acModeShareDenyWrite
სხვა დანართებიდან შეუძლებელია   მონაცემების ჩაწერა
acModeShareDenyNone
სხვა დანართებიდან შესაძლებელია მონაცემების წყაროსთან დაკავშირება დაკავშირების ნებისმიერი უფლებით  
acModeShareExclusive        
სხვა დანართებიდან შეუძლებელია მონაცემების წყაროსთან დაკავშირება დაკავშირების ნებისმიერი უფლებით  
acModeRecursive
მიმდინარე ჩანაწერის თვისებების მატარებლები მასთან დაკავშირებული ჩანაწერები არიან
მუდმივი        
აღწერა
adXactUnspecified
მომხმარებლის მიერ იზოლაციის დონის განსაზღვრის შეუძლებლობის გამო თვისების IsoLocationLevel   მუდმივის მნიშვნელობაა adXactUnspecified
adXactChaos
 adXactBrowse
მონაცემებში დაუმთავრებელი ცვლილებების გადაწერის აკრძალვა. ეს მნიშვნელობები გაჩუმებითაა
adXactReadUncommited
adXactCursorStability
სხვა ტრანზაქციებით შესრულებულ მოქმედებაში შეუსრულებელი ცვლილებების დათვალიერება რედაქტირების გარეშე
adXactReadCommited
სხვა ტრან¬ზაქციებით შესრულებულ მოქმედებაში შესული ცვლილებების დათვალიერება რედაქტირების გარეშე
adXactRepaitableReader 
 adXactIsolated
სხვა ტრანზაქციებით შესრულებული ცვლილებებით მონაცემების განახლება
adXactSerializable
მოცემული ტრანზაქციის იზოლირება სხვა ტრანზაქციებისგან
                                                                                                                                   ცხრილი 2.2.
თვისების IsoLocationLevel   მუდმივები

მონაცემების მომწოდებელი

       დაკავშირების სტრიქონი
Microsoft Jet 3.51
Microsoft Jet.OLEDB.3.5.1
Microsoft Jet 4.0
Microsoft Jet.OLEDB.4.0 (Access 2003)
Microsoft.ACE
Microsoft.ACE.OLEDB.12.0 (Access 2007)
ODBC დრაივერი
MSDASQL
Oracle
MSDAORA
SQL Server
SQLOLEDB
     2.        მონაცემების წყარო – ფაილის სრული მისამართი, რომელთანაც დაკავშირება ხორციელდება. მაგ. Data Source = C:\Ekonomfakulteti.mdb(Access 2003)
Data Source = C:\Ekonomfakulteti.accdb(Access 2007)
     3.        მონაცემების დაშორებული მომწოდებელი – თუ მონაცემების ბაზასთან კავშირი კლიენტის მხრიდან ხორციელდება, მაშინ მიეთითება სერვერის მისამართი;
     4.        დაშორებული სერვერი – მიეთითება სერვერის იდენტიფიკატორი;
     5.        URL – თუ მონაცემების ბაზასთან კავშირი ინტერნეტით ხორციელდება, მაშინ მიეთითება URL მისამართი. 

მაგალითი
დაკავშირება Access 2007-ში ორგანიზებულ   დაშორებულ მონაცემების წყაროსთან.  

Dim dak As New ADODB.Connection 
'ცვლადის გამოცხადება და ობიექტის Connection ეგზემპლარის შექმნა
Dim kav As String
kav = "Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False; "User ID=Admin; Data Source= D:\prog_testi.accdb;"
dak.Open kav
დაკავშირება მიმდინარე ბაზასთან
Dim dak As New ADODB.Connection
 'ცვლადის გამოცხადება და ობიექტის Connection ეგზემპლარის შექმნა
Set dak=CurrentProject.Connection

გაგრძელება - ობიექტი Recordset